import { createRouter, createWebHistory } from 'vue-router'
import { useUserStore } from '@/stores'
// createRouter 用于创建路由实例
// history模式 createWebHistory 
// vite 中的环境变量 在 vite.config.js 中配置 import.meta.env.BASE_URL
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
      { path  : '/login', component: () => import('@/views/login/LoginPage.vue') },//登入页面。
      {
        path: '/',
        component: () => import('@/views/layout/LayoutContainer.vue'),
        redirect: '/article/manage',
        children: [
          { path: '/article/manage', component: () => import('@/views/article/ArticleManage.vue') },
          { path: '/article/channel', component: () => import('@/views/article/ArticleChannel.vue') },
          { path: '/user/profile', component: () => import('@/views/user/UserProfile.vue') },
          { path: '/user/avatar', component: () => import('@/views/user/UserAvatar.vue') },
          { path: '/user/password', component: () => import('@/views/user/UserPassword.vue') },

        ]
      }
  ],
})

//登入访问的拦截 =》 默认是直接放行

//根据返回值决定，是放行还是拦截
//返回值
//1.undefined /true 放行
//2.false 拦回from的地址页面
//3.具体路径或者路径对象 拦截到对应的地址
//"/login"{path:"/login"}
router.beforeEach((to)=>{
  //如果没有token并且访问的是非登录页面，拦截到登入，其它情况放行
  const useStore = useUserStore()
  if(!useStore.token && to.path !== '/login'){
    return '/login'
  }
  return true
})
export default router
